﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Dubbo.Rpc
{
    public interface IProxyFactory
    {
        /**
         * create proxy.
         * 
         * @param invoker
         * @return proxy
         */
        T GetProxy<T>(IInvoker<T> invoker);

        /**
         * create invoker.
         * 
         * @param <T>
         * @param proxy
         * @param type
         * @param url
         * @return invoker
         */
        IInvoker<T> GetInvoker<T>(T proxy, URL url);

    }
}
